package com.djzhou.util;


import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * 字符串辅助类
 * @（#）:StringUtil.java 
 * @description:  
 * @author:  zhuangzikaile  2011-10-12 
 * @version: [SVN] 
 * @modify: 
 * @Copyright:  黑龙江中科方德软件有限公司
 */
public class StringUtil {
	
	/**
	 * 判断字符串是否为空或空串
	 * @param str 要判断的字符串
	 * @return 
	 *
	 */
	public static Boolean notEmpty(String str) {
		if(str != null && !"".equals(str)) {
			return true;
		}
		return false;
	}
	/**
	 * 判断字符串的长度
	 * @param str
	 * @param minLength
	 * @param maxLength
	 * @return
	 *
	 */
	public static Boolean validateLength(String str, Integer minLength, Integer maxLength) {
		if(str.length() >= minLength && str.length() <= maxLength) {
			return true;
		}
		return false;
	}
	/**
	 * 判断字符串是否是数字（整数或浮点数）
	 * @param str
	 * @return
	 *
	 */
	public static Boolean isNum(String str) {
		Pattern pattern = Pattern.compile("^(-)?(([1-9]{1}\\d*)|([0]{1}))(\\.(\\d){1,2})?$");
		Matcher matcher = pattern.matcher(str);
		return matcher.matches();
	}
	/**  
     * 检查整数  
     * @param num  
     * @param type "0+":非负整数 "+":正整数 "-0":非正整数 "-":负整数 "":整数  
     * @return  
     */  
    public static boolean checkNumber(String num,String type){   
        String eL = "";   
        if(type.equals("0+"))eL = "^\\d+$";//非负整数   
        else if(type.equals("+"))eL = "^\\d*[1-9]\\d*$";//正整数   
        else if(type.equals("-0"))eL = "^((-\\d+)|(0+))$";//非正整数   
        else if(type.equals("-"))eL = "^-\\d*[1-9]\\d*$";//负整数   
        else eL = "^-?\\d+$";//整数   
        Pattern p = Pattern.compile(eL);   
        Matcher m = p.matcher(num);   
        boolean b = m.matches();   
        return b;   
    }
    public static void main(String[] args) {
    	System.out.println(isNum("-111"));
	}
}